Method and system for auto-populating electronic forms

ABSTRACT

An autofill system is described for auto-populating electronic forms with data stored by an on-line social networking system. When a member of an on-line social network system accesses, via a web browser, an autofill-enabled web page, the autofill system determines an identification of the member, scrapes the member&#39;s profile to obtain member&#39;s information, assembles the member&#39;s profile information as member data, and communicates the member data to the web browser together with a script for presenting an autofill button on the web page.

TECHNICAL FIELD

This application relates to the technical fields of software and/orhardware technology and, in one example embodiment, to the system andmethod to auto-populate electronic forms with data stored by an on-linesocial networking system.

BACKGROUND

Online lead generation is a term that refers to a form of Internetmarketing that is aimed at generating prospective customer interest. Amarketing team may utilize a website that presents to a user (who may bea member of the website or a guest) an electronic form and a request tofill the electronic form with the user's information. A user that isvisiting a marketer's web site may fill out the form, but may alsochoose to not do so even if they are willing to share this information,as the process of filling out such forms may be perceived by the user aslengthy and tedious.

BRIEF DESCRIPTION OF DRAWINGS

Embodiments of the present invention are illustrated by way of exampleand not limitation in the figures of the accompanying drawings, in whichlike reference numbers indicate similar elements and in which:

FIG. 1 is a diagrammatic representation of a network environment withinwhich an example method and system to auto-populate electronic formswith data stored by an on-line social networking system may beimplemented;

FIG. 2 is block diagram of a system to auto-populate electronic formswith data stored by an on-line social networking system, in accordancewith one example embodiment;

FIG. 3 is a flow chart of a method performed at a server system toauto-populate electronic forms with data stored by an on-line socialnetworking system, in accordance with an example embodiment;

FIG. 4 is a flow chart of a method performed in a web browser toauto-populate electronic forms with data stored by an on-line socialnetworking system, in accordance with an example embodiment;

FIG. 5 is an example user interface (UI) that includes an autofillbutton to auto-populate electronic forms with data stored by an on-linesocial networking system, in accordance with an example embodiment; and

FIG. 6 is a diagrammatic representation of an example machine in theform of a computer system within which a set of instructions, forcausing the machine to perform any one or more of the methodologiesdiscussed herein, may be executed.

DETAILED DESCRIPTION

A method and system to auto-populate electronic forms with data storedby an on-line social networking system is described. In the followingdescription, for purposes of explanation, numerous specific details areset forth in order to provide a thorough understanding of an embodimentof the present invention. It will be evident, however, to one skilled inthe art that the present invention may be practiced without thesespecific details.

As used herein, the term “or” may be construed in either an inclusive orexclusive sense. Similarly, the term “exemplary” is merely to mean anexample of something or an exemplar and not necessarily a preferred orideal means of accomplishing a goal. Additionally, although variousexemplary embodiments discussed below may utilize Java-based servers andrelated environments, the embodiments are given merely for clarity indisclosure. Thus, any type of server environment, including varioussystem architectures, may employ various embodiments of theapplication-centric resources system and method described herein and isconsidered as being within a scope of the present invention.

An on-line social network may be viewed as a platform to connect peoplein virtual space. An on-line social network may be a web-based platform,such as, e.g., a social networking web site, and may be accessed by auser via a web browser. It will be noted that, for the purposes of thisdescription, the terms web browser, browser application, and browser areused interchangeably. An on-line social network may be abusiness-focused social network that is designed specifically for thebusiness community, where registered members establish and documentnetworks of people they know and trust professionally. Each registeredmember may be represented by a member profile. A member profile may berepresented by one or more web pages. A member profile is used to storeinformation associated with the member, such as, e.g., personalinformation, professional information, member's likes and preferences,etc. A member's profile web page of a social networking web site mayemphasize employment history and education of the associated member. Forthe purposes of this description the phrase “an on-line socialnetworking application” may be referred to as and used interchangeablywith the phrase “an on-line social network” or merely “a socialnetwork.” It will also be noted that an on-line social network may beany type of an on-line social network, such as, e.g., a professionalnetwork, an interest-based network, or any on-line networking systemthat permits users to join as registered members. For the purposes ofthis description, registered members of an on-line social network may bereferred to as simply members.

As mentioned above, a marketing company may present on their web site anelectronic form (that may be termed a lead generation form) and requestthat users fill out the electronic form with their information. Anexample method for auto-populating electronic forms comprises providing,on the web page that displays a lead generation form, a user interface(UI) object that can be used to cause the lead generation form to befilled automatically with data stored by an on-line social networkingsystem, of which the user is a member. Such UI object may be termed anautofill button. In one embodiment, using an autofill button toauto-populate lead generation forms may lower the friction in theprocess of users submitting their information electronically and mayresult in the increased conversion rate, which, in turn, may lead toincreased performance on the part of sales and marketing teams thatutilize an associated UI object on their web pages.

An autofill button and the associated autofill functionality may beprovided by an autofill system that may be included in or cooperate withan on-line social networking system. A web page may be referred to asautofill-enabled if it permits inclusion of an autofill button that canbe activated to cause populating a form presented on the web page withdata obtained from an on-line social networking system. A screenshot ofa UI 500 that includes an autofill button is shown in FIG. 5.

An example method and system to auto-populate electronic forms with datastored by an on-line social networking system may be implemented in thecontext of a network environment 100 illustrated in FIG. 1. As shown inFIG. 1, the network environment 100 may include client systems 110 and120 and a server system 140. The server system 140, in one exampleembodiment, may host an on-line social networking system 142. Asexplained above, each member of an on-line social network is representedby a member profile that contains personal and professional informationabout the member and that may be associated with social links thatindicate the member's connection to other member profiles in the on-linesocial network. Member profiles and related information may be stored ina database 150 as member profiles 152.

The client systems 110 and 120 may run respective browser applications,such as, e.g., a browser application 112 a browser application 122 andmay have access to the server system 140 via a communications network130. The communications network 130 may be a public network (e.g., theInternet, a mobile communication network, or any other network capableof communicating digital data). As shown in FIG. 1, the server system140 also hosts an autofill system 144, which may be part of the on-linesocial networking system 142. In one example embodiment, the autofillsystem 144 is configured to auto-populate electronic forms with datastored by the on-line social networking system 142.

In operation, the on-line social network system 142 may store cookies inthe browser of a member's client device (e.g., in the browser 112) thatpermit the on-line social networking system 142 to detect that themember has accessed an autofill-enabled web page. When the memberaccesses an autofill-enabled web page, the autofill system 144determines an identification of the member with respect to the on-linesocial networking system 142, scrapes the member's profile stored in thedatabase 150 to obtain member's information, assembles the member'sprofile information as member data and communicates the member data tothe browser 112 together with a script for presenting an autofill buttonon the web page. This scenario is applicable where a member who isvisiting an autofill-enabled web page is already logged into the on-linesocial networking system 142. Where the member is not logged in, theautofill system 144 communicates to the browser 112 a UI object forlogging into the on-line social networking system 142 and, once themember is logged-in, assembles the member's profile information asmember data and communicates the member data to the browser 112 togetherwith a script for presenting an autofill button on the web page.

The autofill button may be configured to detect when it has beenactivated (e.g., a user has clicked on the button), analyze the formpresented on the web page to determine which fields in the form havebeen tagged to be populated with the data from the on-line socialnetworking system 142, and auto-populate those tagged fields with themember data that have been communicated to the browser 112 together withthe script for presenting the autofill button. It will be noted that aform presented on an autofill-enabled web page may have some, all, ornone of its fields tagged. A tag that indicates that the associatedfield can be auto-populated with the member data may be termed anautofill tag. An autofill tag associated with a form field provides amapping between the field and an item from the member profile. Thescript that represents the autofill button is executed to parse the formto detect any autofill tags, and use the mapping information todetermine which items from the member data are to be used for populatingrespective tagged form fields. The mapping information may be stored inthe browser 112, or it can be communicated to the browser 112 togetherwith the script representing an autofill button on the web page and themember's profile data (member data).

In some embodiments, the autofill system 144 may be configured tocollect analytics with respect to the lead generation process. Forexample, an analytics script may be executing in the browser 112 thattracks events with respect to an autofill-enabled web page and reportsthe events to the server system 140 hosting the on-line socialnetworking system 142, where this data can be processed and/or providedto the provider of the autofill-enabled web page. The events tracked inthe browser 112 may include events indicative of a user filling out theform (manually or automatically), a user submitting the form, or a userchoosing to abandon the form-filling process. Other information trackedby the analytics script may be data associated with variouscharacteristics of the member, such as, e.g., first and last name,e-mail address, phone number, company name, position or title, industry,function, city, state, region, country, skills, education, as well asdemographic, professional occupation, likes and preferences that may begleaned from the member profile, etc. An example autofill system isillustrated in FIG. 2.

FIG. 2 is a block diagram of a system 200 to auto-populate electronicforms with data stored by an on-line social networking system, inaccordance with one example embodiment. As shown in FIG. 2, the system200 includes a communications module 202, a mapping informationgenerator 204, and a UI object generator 206. The communications module202 may be configured to communicate to the browser 112 of FIG. 1 abrowser cookie to permit the on-line social networking system 142 ofFIG. 1 to detect that a member of the on-line social networking systemis accessing an autofill-enabled web page. As explained above, anautofill-enabled web page may present a leads generation form. Some orall of the fields in the form presented on an autofill-enabled form maybe tagged with autofill tags that may be used to determine respectivedata items that can be automatically included into the tagged fields.The communications module 202 may also be configured to communicate tothe browser 112 information from the profile information of the memberthat is stored by the on-line social networking system 142, the memberdata, and also mapping information that provides mapping betweenautofill tags and items in profiles of members of the on-line socialnetworking system 142. The communications module 202 may also beconfigured to communicate, to the client 110 of FIG. 1, an analyticsscript that can track events with respect to an autofill-enabled webpage and report the events to the server system 140 hosting the on-linesocial networking system 142, where this data can be processed and/orprovided to the provider of the autofill-enabled web page.

The mapping information generator 204 may be configured to generate themapping information. As mentioned above, the mapping information may bestored in the browser 112, or it can be communicated to the browser 112together with the script for presenting an autofill button on the webpage and the member's profile data. The autofill button, when activatedin the browser 112 accesses the mapping information to determine dataitems to be used to populate the tagged fields in the form presented onthe associated web page.

The UI object generator 206 may be configured to generate a UI object(the autofill button). The UI object may be presented on a web page thatdisplays a form, as shown in FIG. 5, and may be in the form of a scriptthat, when executed, results in populating the form with data stored bythe on-line social networking system 142. Example operations performedby the script that represents an autofill button may be described withreference to FIG. 4.

FIG. 4 is a flow chart of a method 400 performed in a web browser toauto-populate electronic forms with data stored by an on-line socialnetworking system, according to one example embodiment. The method 400may be performed by processing logic that may comprise hardware (e.g.,dedicated logic, programmable logic, microcode, etc.), software (such asrun on a general purpose computer system or a dedicated machine), or acombination of both. In one example embodiment, the processing logic isprovided from the server system 140 of FIG. 1 to the browser 112 of FIG.1.

As shown in FIG. 4, the method 400 commences at operation 410, when thescript generated by the UI object generator 206 of FIG. 2 accesses aform presented on a web page that displays the associated UI object,when the UI object is activated. The UI object may be activated, e.g.,when a user clicks on the UI object presented. At operation 420, thescript that represents the UI object determines that the form includes afield associated with an autofill tag (a tagged field). As mentionedabove, the form may have more than one of its fields tagged withautofill tags. At operation 430, the script accesses mapping informationgenerated by the mapping information generator 204 of FIG. 2 and, basedon the mapping information, populates the tagged field with an item frommember data that was sent to the web browser together with the UI object(operation 440).

Returning to FIG. 2, the system 200 further includes a web page accessdetector 208, a profile scraper 210, and an analytics module. The webpage access detector may be configured to detect that a member of theon-line social networking system 142 is accessing a web page via the webbrowser 112. The profile scraper 210 may be configured to obtain, fromthe member's profile stored by the on-line social networking system 142,member data. The analytics module 212 may be configured to obtain andprocess events collected by an analytics script executing in the browser112 and make this information available to the provider of theautofill-enabled web page. As explained above, the events tracked in thebrowser 112 may include events indicative of a user filling out the form(manually or automatically), a user submitting the form, or a userchoosing to abandon the form-filling process. Other information trackedby the analytics script may be data associated with variouscharacteristics of the member, such as, e.g., demographic, professionaloccupation, likes and preferences that may be gleaned from the memberprofile, etc.

FIG. 3 is a flow chart of a method 300 performed at a server system toauto-populate electronic forms with data stored by an on-line socialnetworking system, according to one example embodiment. The method 300may be performed by processing logic that may comprise hardware (e.g.,dedicated logic, programmable logic, microcode, etc.), software (such asrun on a general purpose computer system or a dedicated machine), or acombination of both. In one example embodiment, the processing logicresides at the server system 140 of FIG. 1 and, specifically, at thesystem 200 shown in FIG. 2.

As shown in FIG. 3, the method 300 commences at operation 310, when thecommunications module 202 of FIG. 2 communicates, to the browser 112 ofFIG. 1, a browser cookie, to permit the on-line social networking system142 of FIG. 1 to detect that a member of the on-line social networkingsystem 142 of FIG. 1 is accessing an autofill-enabled web page. Atoperation 320, the mapping information generator 204 of FIG. 2 generatesthe mapping information. The mapping information provides mappingbetween autofill tags and respective items from member profiled storedby the on-line social networking system 142 of FIG. 1. At operation 330,the UI object generator 206 of FIG. 2 generates a UI object (theautofill button) that may be presented on a web page that displays aform and may be in the form of a script that, when executed, results inpopulating the form with data stored by the on-line social networkingsystem 142. A UI object, when activated in the browser 112 accesses themapping information to determine data items to be used to populate thetagged fields in the form presented on the associated web page.

At operation 340, the web page access detector 208 of FIG. 2 detectsthat a member of the on-line social networking system 142 is accessing aweb page via a web browser. The profile scraper 210 of FIG. 2 thenobtains, from the profile of the member, member data. The member datamay include information such as name, address, employer, year of birth,city and state of residency, etc. At operation 360, the communicationsmodule 202 communicates the UI object and the member data to the webbrowser. The UI object operates in the web browser as described above,with reference to FIG. 4.

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions. The modulesreferred to herein may, in some example embodiments, compriseprocessor-implemented modules.

Similarly, the methods described herein may be at least partiallyprocessor-implemented. For example, at least some of the operations of amethod may be performed by one or more processors orprocessor-implemented modules. The performance of certain of theoperations may be distributed among the one or more processors, not onlyresiding within a single machine, but deployed across a number ofmachines. In some example embodiments, the processor or processors maybe located in a single location (e.g., within a home environment, anoffice environment or as a server farm), while in other embodiments theprocessors may be distributed across a number of locations.

FIG. 13 is a diagrammatic representation of a machine in the exampleform of a computer system 1300 within which a set of instructions, forcausing the machine to perform any one or more of the methodologiesdiscussed herein, may be executed. In alternative embodiments, themachine operates as a stand-alone device or may be connected (e.g.,networked) to other machines. In a networked deployment, the machine mayoperate in the capacity of a server or a client machine in aserver-client network environment, or as a peer machine in apeer-to-peer (or distributed) network environment. The machine may be apersonal computer (PC), a tablet PC, a set-top box (STB), a PersonalDigital Assistant (PDA), a cellular telephone, a web appliance, anetwork router, switch or bridge, or any machine capable of executing aset of instructions (sequential or otherwise) that specify actions to betaken by that machine. Further, while only a single machine isillustrated, the term “machine” shall also be taken to include anycollection of machines that individually or jointly execute a set (ormultiple sets) of instructions to perform any one or more of themethodologies discussed herein.

The example computer system 1300 includes a processor 1302 (e.g., acentral processing unit (CPU), a graphics processing unit (GPU) orboth), a main memory 1304 and a static memory 1306, which communicatewith each other via a bus 13013. The computer system 1300 may furtherinclude a video display unit 1310 (e.g., a liquid crystal display (LCD)or a cathode ray tube (CRT)). The computer system 1300 also includes analpha-numeric input device 1312 (e.g., a keyboard), a user interface(UI) navigation device 1314 (e.g., a cursor control device), a diskdrive unit 1316, a signal generation device 1318 (e.g., a speaker) and anetwork interface device 1320.

The disk drive unit 1316 includes a machine-readable medium 1322 onwhich is stored one or more sets of instructions and data structures(e.g., software 1324) embodying or utilized by any one or more of themethodologies or functions described herein. The software 1324 may alsoreside, completely or at least partially, within the main memory 1304and/or within the processor 1302 during execution thereof by thecomputer system 1300, with the main memory 1304 and the processor 1302also constituting machine-readable media.

The software 1324 may further be transmitted or received over a network1326 via the network interface device 1320 utilizing any one of a numberof well-known transfer protocols (e.g., Hyper Text Transfer Protocol(HTTP)).

While the machine-readable medium 1322 is shown in an example embodimentto be a single medium, the term “machine-readable medium” should betaken to include a single medium or multiple media (e.g., a centralizedor distributed database, and/or associated caches and servers) thatstore the one or more sets of instructions. The term “machine-readablemedium” shall also be taken to include any medium that is capable ofstoring and encoding a set of instructions for execution by the machineand that cause the machine to perform any one or more of themethodologies of embodiments of the present invention, or that iscapable of storing and encoding data structures utilized by orassociated with such a set of instructions. The term “machine-readablemedium” shall accordingly be taken to include, but not be limited to,solid-state memories, optical and magnetic media. Such media may alsoinclude, without limitation, hard disks, floppy disks, flash memorycards, digital video disks, random access memory (RAMs), read onlymemory (ROMs), and the like.

The embodiments described herein may be implemented in an operatingenvironment comprising software installed on a computer, in hardware, orin a combination of software and hardware. Such embodiments of theinventive subject matter may be referred to herein, individually orcollectively, by the term “invention” merely for convenience and withoutintending to voluntarily limit the scope of this application to anysingle invention or inventive concept if more than one is, in fact,disclosed.

Modules, Components and Logic

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. Modules may constitute eithersoftware modules (e.g., code embodied (1) on a non-transitorymachine-readable medium or (2) in a transmission signal) orhardware-implemented modules. A hardware-implemented module is tangibleunit capable of performing certain operations and may be configured orarranged in a certain manner. In example embodiments, one or morecomputer systems (e.g., a standalone, client or server computer system)or one or more processors may be configured by software (e.g., anapplication or application portion) as a hardware-implemented modulethat operates to perform certain operations as described herein.

In various embodiments, a hardware-implemented module may be implementedmechanically or electronically. For example, a hardware-implementedmodule may comprise dedicated circuitry or logic that is permanentlyconfigured (e.g., as a special-purpose processor, such as a fieldprogrammable gate array (FPGA) or an application-specific integratedcircuit (ASIC)) to perform certain operations. A hardware-implementedmodule may also comprise programmable logic or circuitry (e.g., asencompassed within a general-purpose processor or other programmableprocessor) that is temporarily configured by software to perform certainoperations. It will be appreciated that the decision to implement ahardware-implemented module mechanically, in dedicated and permanentlyconfigured circuitry, or in temporarily configured circuitry (e.g.,configured by software) may be driven by cost and time considerations.

Accordingly, the term “hardware-implemented module” should be understoodto encompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired) or temporarily ortransitorily configured (e.g., programmed) to operate in a certainmanner and/or to perform certain operations described herein.Considering embodiments in which hardware-implemented modules aretemporarily configured (e.g., programmed), each of thehardware-implemented modules need not be configured or instantiated atany one instance in time. For example, where the hardware-implementedmodules comprise a general-purpose processor configured using software,the general-purpose processor may be configured as respective differenthardware-implemented modules at different times. Software mayaccordingly configure a processor, for example, to constitute aparticular hardware-implemented module at one instance of time and toconstitute a different hardware-implemented module at a differentinstance of time.

Hardware-implemented modules can provide information to, and receiveinformation from, other hardware-implemented modules. Accordingly, thedescribed hardware-implemented modules may be regarded as beingcommunicatively coupled. Where multiple of such hardware-implementedmodules exist contemporaneously, communications may be achieved throughsignal transmission (e.g., over appropriate circuits and buses) thatconnect the hardware-implemented modules. In embodiments in whichmultiple hardware-implemented modules are configured or instantiated atdifferent times, communications between such hardware-implementedmodules may be achieved, for example, through the storage and retrievalof information in memory structures to which the multiplehardware-implemented modules have access. For example, onehardware-implemented module may perform an operation, and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware-implemented module may then,at a later time, access the memory device to retrieve and process thestored output. Hardware-implemented modules may also initiatecommunications with input or output devices, and can operate on aresource (e.g., a collection of information).

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions. The modulesreferred to herein may, in some example embodiments, compriseprocessor-implemented modules.

Similarly, the methods described herein may be at least partiallyprocessor-implemented. For example, at least some of the operations of amethod may be performed by one or processors or processor-implementedmodules. The performance of certain of the operations may be distributedamong the one or more processors, not only residing within a singlemachine, but deployed across a number of machines. In some exampleembodiments, the processor or processors may be located in a singlelocation (e.g., within a home environment, an office environment or as aserver farm), while in other embodiments the processors may bedistributed across a number of locations.

The one or more processors may also operate to support performance ofthe relevant operations in a “cloud computing” environment or as a“software as a service” (SaaS). For example, at least some of theoperations may be performed by a group of computers (as examples ofmachines including processors), these operations being accessible via anetwork (e.g., the Internet) and via one or more appropriate interfaces(e.g., Application Program Interfaces (APIs).)

Thus, a method and system to auto-populate electronic forms with datastored by an on-line social networking system has been described.Although embodiments have been described with reference to specificexample embodiments, it will be evident that various modifications andchanges may be made to these embodiments without departing from thebroader spirit and scope of the inventive subject matter. Accordingly,the specification and drawings are to be regarded in an illustrativerather than a restrictive sense.

The invention claimed is:
 1. A method comprising: detecting, at a serversystem hosting an on-line social networking system, that a member of theon-line social networking system is accessing a web page via a webbrowser, the web page provided by an entity that is distinct from theon-line social networking system; obtaining, from the on-line socialnetworking system, member data, the member data associated with themember of the on-line social networking system; and communicating themember data together with a user interface (UI) object to the webbrowser, the UI object configured to populate an electronic formpresented on the web page with data obtained from the on-line socialnetworking system, the UI object to be dynamically inserted, in responseto the detecting, into the electronic form presented on the web page aspart of the electronic form.
 2. The method of claim 1, comprisinggenerating the object, the UI object configured to, in response to anactivation event: access a form presented on a web page that displaysthe UI object, determine that the electronic form includes a fieldassociated with an autofill tag, and populate the field associated withthe autofill tag with an item from member data, the member datacomprising information from a profile of a member of a on-line socialnetworking system.
 3. The method of claim 2, wherein the UI object is toaccess mapping information, the mapping information providing mappingbetween the autofill tag and the item from the member data.
 4. Themethod of claim 3, wherein the mapping information is stored locallywith respect to the web browser.
 5. The method of claim 3, wherein theUI object is to access mapping information stored at the server system.6. The method of claim 1, wherein the autofill tag is from a pluralityof autofill tags, respective autofill tags from the plurality ofautofill tags associated with respective fields of the form.
 7. Themethod of claim 1 comprising communicating, to the web browser, abrowser cookie, the browser cookie to per the server system to detectthat the member of the on-line social networking system is accessing theweb page via a web browser.
 8. The method of claim 1, comprisingcommunicating, to the web browser, an analytics script, the analyticsscript to report, to the server system, analytics with respect to eventsindicative of behavior of the member while the member is accessing theweb page.
 9. The method of claim 8, wherein the analytics comprises oneor more of one or more events associated with activating the UI control,one or more events associated with submitting the form to a provider ofthe web page, and demographics of the member.
 10. The method of claim 9,comprising communicating the analytics to a provider of the web page.11. A computer-implemented system comprising: a web page accessdetector, implemented using at least one processor, to detect at aserver system hosting an on-line social networking system, that a memberof the on-line social networking system is accessing a web page via aweb browser, the web page provided by an entity that is distinct fromthe on-line social networking system; a profile scraper, implementedusing at least one processor, to obtain, from the on-line socialnetworking system, member data, the member data associated with themember of the on-line social networking system; and communicationsmodule, implemented using at least one processor, to communicate themember data together with a user interface (UI) object to the webbrowser, the UI object configured to populate an electronic formpresented on the web page with data obtained from the on-line socialnetworking system, the UI object to be dynamically inserted, in responseto the detecting, into the electronic form presented on the web page aspart of the electronic form.
 12. The system of claim 11, comprising a UIobject generator, implemented using at least one processor, the UIobject generator to generate the UI object, the UI object configured to,in response to an activation event: access a form presented on a webpage that displays the UI object, determine that the electronic formincludes a field associated with an autofill tag, and populate the fieldassociated with the autofill tag with an item from member data, themember data comprising information from a profile of a member of aon-line social networking system.
 13. The system of claim 12, whereinthe UI object is to access mapping information, the mapping informationproviding mapping between the autofill tag and the item from the memberdata.
 14. The system of claim 13, wherein the mapping information isstored locally with respect to the web browser.
 15. The system of claim13, wherein the UI object is to access mapping information stored at theserver system.
 16. The system of claim 11, wherein the autofill tag isfrom a plurality of autofill tags, respective autofill tags from theplurality autofill tags associated with respective fields of the form.17. The system of claim 11, wherein the communications module is tocommunicate, to the web browser, a browser cookie, the browser cookie topermit the server system to detect that the member of the on-line socialnetworking system is accessing the web page via a web browser.
 18. Thesystem of claim 11, wherein the communications module is to communicateto the web browser an analytics script, the analytics script to report,to the server system, analytics with respect to events indicative ofbehavior of the member while the member is accessing the web page. 19.The system of claim 18, wherein the analytics comprises one or more ofone or more events associated with activating the UI control, one ormore events associated with submitting the form to a provider of the webpage, and demographics of the member.
 20. A machine-readablenon-transitory storage medium having instruction data to cause a machineto perform operations comprising: detecting, a servers system hosting anon-line social networking system, that a member of the on-line socialnetworking system is accessing a web page via a web browser, the webpage provided by an entity that is distinct from the on-line socialnetworking system; obtaining, from the on-line social networking system,member data, the member data associated with the member of the on-linesocial networking system; and communicating the member data togetherwith a user interface (UI) object to the web browser, the UI objectconfigured to populate an electronic form presented on the web page withdata obtained from the on-line social networking system, the UI objectto be dynamically inserted, in response to the detecting, into theelectronic form presented on the web page as part of the electronicform.